package seace.services;

import java.io.PrintWriter;
import java.sql.Date;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Iterator;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import seace.dao.ParticipanteDao;
import seace.model.Participante;
import seace.utils.Utilidades;

public class Frequencia implements Service {

	@SuppressWarnings("unchecked")
	public void execute(HttpServletRequest request, HttpServletResponse response)
			throws Exception {

		
		String inscricao = request.getParameter("inscricao");
		String atividade = request.getParameter("atividade");
		String horario = request.getParameter("data");
		
		if(inscricao != null && inscricao.length() == 8){
			inscricao = inscricao.substring(3, 7);
		}
		
		if (inscricao != null && atividade != null && horario != null) {
			
			
			Participante participante = new Participante();
			
			participante.setInscricao(Integer.parseInt(inscricao));
			System.out.println("Atividade"+atividade);
			participante.setCronograma_Atividades(Integer.parseInt(atividade));
			
			DateFormat fmt =  new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
			
			try {
				Date data = new Date(fmt.parse(horario).getTime());
				participante.setData(data);
			} catch (ParseException e) {
				e.printStackTrace();
			}
			
			
			ParticipanteDao dao = new ParticipanteDao();
			
			int freq = dao.getFrequencia(participante);
			
			participante = dao.getParticipante(participante);
			
			PrintWriter out = response.getWriter();
			
			if(participante!=null && freq < 2){
				dao.frequencia(participante);
				
				List<Participante> lista = dao.getUltimosDezParticipantes();
				out.print("<ul class=\"report\">");
				for (Iterator iterator = lista.iterator(); iterator.hasNext();) {
					
					Participante participante2 = (Participante) iterator.next();
					out.print("<li>"+participante2.getInscricao()+" "+ Utilidades.replaceAcutesHTML(participante2.getNome())+"</li>");
				}
				out.print("</ul>");
			}else{
				if(participante != null){
					out.println("<li>Limite Excedido de Credenciamento:"+participante.getNome()+"</li>");
				}else
					out.print("<span>Participante Inexistente</span>");
			}
		}

	}

}
